// pages/function/upload/upload-img.js
const APP = getApp();

Page({

  /**
   * 页面的初始数据
   */
  data: {
    uploadFileObj:{
        images:[],videos:[],audios:[],documents:[]
    },
    uploadRef:null,
    isSubmitLoading: false, //提交状态
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  },

  /**
   * 【逻辑区域】
   */
  bindSubmitForm: function (eventhandle) {
        let _this = this;
        let formvalues = eventhandle.detail.value;
        // formvalues.phone = this.data.wxphoneNumber;
        formvalues.category = 0; //(0》反映问题；1》意见建议；2》；我要点赞)
        formvalues.reactiveTime = this.data.reactiveTime;

        //验证姓名
        if(formvalues.realname.length>0){
            // let regex = /^[\u4E00-\u9FA5A-Za-z]+$/; //中英文
            let regex = /^[\u4E00-\u9FA5]+$/; //纯中文
            if(!regex.test(formvalues.realname)){
                APP.apptool.showToastInfo('姓名只能是汉字!');
                return;
            }
        }
        //验证手机号
        if(formvalues.phone.length>0){
            // let regex = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1})|(17[0-9]{1}))+\d{8})$/;
            let regex = /^1[3456789]\d{9}$/;
            if(!regex.test(formvalues.phone)){
                APP.apptool.showToastInfo('手机号码格式不正确!');
                return;
            }
        }
        //身份证号
        if(formvalues.idcard.length>0){
            let chk = APP.apptool.chkIdcard(formvalues.idcard);
            if(!chk[0]){
                APP.apptool.showToastInfo('身份证号格式不正确!');
                return;
            }
        }
        //验证邮箱
        if(formvalues.email.length>0){
            let regex = /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/;
            if(!regex.test(formvalues.email)){
                APP.apptool.showToastInfo('电子邮箱格式不正确!');
                return;
            }
        }
        
        if (formvalues.title.length < 1) {
            APP.apptool.showToastInfo('请输入反映标题!');
            return;
        }
        if (formvalues.content.length < 1) {
            APP.apptool.showToastInfo('请详细说明时间地点和反映问题的具体内容!');
            return;
        }

        //组装上传文件数组
        let tmpFiles = this.doGetUploadFile();
        let tmpFilenames = [],tmpFilepaths = [],tmpFiletypes = [];
        for(let i=0; i<tmpFiles.length; i++){
            tmpFilenames.push(tmpFiles[i].originalname);
            tmpFilepaths.push(tmpFiles[i].pathname);
            tmpFiletypes.push(tmpFiles[i].type);
        }
        //禁用操作
        _this.setData({
            isSubmitLoading: true,
        });
        APP._post('/Form/submit', {
            name: formvalues.realname,
            phone: formvalues.phone,
            email: formvalues.email,
            category: formvalues.category,
            title: formvalues.title,
            content: formvalues.content,
            fileNames: tmpFilenames.join(','),
            filePaths: tmpFilepaths.join(','),
            idCardNo:formvalues.idcard,
            reactiveUnit:formvalues.reactiveUnit,
            reactivePerson:formvalues.reactivePerson,
            reactiveTime:formvalues.reactiveTime,
            fileTypes:tmpFiletypes.join(','),
        }, false, function (res) {
            //执行成功
            APP.apptool.showToastInfo(res.caMsg, null, 2000, function (res) {
                wx.navigateBack({
                    delta: 1,
                });
            });
        }, function (res) {
            //执行失败
        }, function (res) {
            //执行完成
            //恢复操作
            _this.setData({
                isSubmitLoading: false,
            });
        });
  },
    //设置组件引用
    bindUploadReffer(ref){
        this.data.uploadRef = ref.detail;
    },
    doGetUploadFile(){
        if(this.data.uploadRef){
        let tmpFiles = this.data.uploadRef.data.getUploadFiles();
        return tmpFiles;
        }
        return [];
    }

})